The present invention relates to computer systems and, more particularly, to a system for emulating a computer peripheral, for example, to provide for power conservation. A major objective of the present invention is to provide for shutting down a printer and restarting it when needed in a manner invisible to a computer user.
The proliferation of personal computers has generated a dramatic increase in electrical power consumption. Several factors have contributed to this increased demand: 1) the increase in the number of personal computers; 2) moderate increases in the power required per personal computer; 3) increases in the number of computer peripherals; and 4) the increased power requirements of certain computer peripherals. The effects of this increased consumption have been to: 1) increase per employee costs for employers; 2) require utilities to increase electrical power generation and delivery; and 3) require major upgrading of electrical distribution systems within buildings. For these reasons, efforts are being made to reduce the power requirements of computer systems.
The laser printer has been a major contributor to the increased demand for electrical power. Most laser printers consume more than 800 watts while printing; moreover, they can consume between 90 and 240 watts in standby mode. These figures contrast with those of the previously prevalent impact printers: 200 watts during printing and 25 watts or less during standby.
The increase in standby power is particularly costly. The estimated average duty cycle for printers is 20% during the working day. Accordingly, laser printers can consume about 200 watts during the 80% of the working day that they are not printing. Furthermore, while computer systems are typically shut down overnight, laser printers are often left on. Shared network printers that are located in a common area, rather than a user's office, are especially likely to remain on overnight. Factoring in such "left-on" power consumption, the standby power utilization easily exceeds power consumption during printing.
There have been several attempts to address the problem of power consumption by computer peripherals when they are not being used. A "computer-monitoring" power-conservation system (CM-PCS) detects activity at the computer by monitoring for computer input (keyboard or mouse) activity. The peripheral is shut down after "long" intervals of inactivity, and turned on when such activity is detected. A CM-PCS effectively reduces after hours consumption by a peripheral dedicated to a single computer.
A CM-PCS is less effective at limiting power consumption during working hours. A computer user may spend hours typing on a keyboard without printing; during this typing the CM-PCS leaves a laser printer in standby mode. Thus, such a CM-PCS does not address effectively the power consumption problem entailed when the peripherals sit idle despite use of the host computer.
The problem of working-hours power control is complicated by the fact that printers store state information in volatile memory; this state information is lost when the printer is shut down. For example, many applications load software fonts into a printer. In some cases, "temporary" fonts are loaded and then deleted when the job that required them is completed. In other cases, "permanent" fonts are loaded on the assumption that they may be used for multiple print jobs. While there are provisions for deleting permanent fonts while the printer is on, they typically remain in the printer's memory until the printer is shut down. If the printer is shut down, the state must be restored when it is turned back on. This "reinitialization" procedure can be quite time consuming and disruptive to the user.
Moreover, applications that attempt to track the printer's state, e.g., permanent fonts, can lose track when a CM-PCS shuts a printer down. This problem could be addressed by designing software and hardware to be "PCS-aware". However, the industry-wide cooperation that this would require is lacking.
"Networked peripherals" typically require further attention to the problem of volatile state memory and permanent fonts. Networked peripherals interface to a computer network, which in turn can be connected to a number of computers. The peripheral can then be shared by as many computers as the network can support. Since each computer can affect the peripheral's state information, e.g., download permanent fonts, it would be cumbersome for each computer to track the state of each networked peripheral. Accordingly, the ability to respond to inquiries regarding peripheral states is built into some networked peripherals. This ability has been omitted from most "dedicated" (non-networked) peripherals that are designed to be slaved to a single "master" computer. (If the master computer is on a network, other networked computers may be able to access the peripheral through the master computer.)
Networked peripherals, like networked computers, have network identities that permit them to be distinguished from other devices on the network. Network identities can take the form of addresses and/or names. An address is usually a number assigned to a device. Some networks require a user or administrator to assign unique addresses to each network device. A more ergonomic approach is to provide each device with a programmable descriptive name. This name can be used instead of a numeric address, or else, the network protocol can automatically assign addresses to names. The user's responsibility in such a case is to change device names when necessary to avoid duplication.
Apple LaserWriters, and other Apple LocalTalk devices, have both user-programmable names and network-assignable addresses. The original Hewlett-Packard LaserJets were dedicated printers, while the original Apple LaserWriters were primarily networked peripherals. Over time, more printers have been designed for use both as networked and as dedicated peripherals.
In general, it would be impractical for a CM-PCS to monitor every computer sharing a networked peripheral. Instead, several identity-sharing power-conservation systems (IS-PCSs) have appeared that can be installed in a network and programmed with the same network identity as the printer; the IS-PCS can monitor network traffic addressed to the printer, and control the power to the printer.
IS-PCSs can be burdensome in that the user must program the IS-PCS so that it has the same address and/or name as the printer. This in turn involves installing special software in at least one of the networked computers. Any error in this programming will result in operational misbehavior. Furthermore, reprogramming can be required when there are changes in the network such as adding or replacing a printer. This can be onerous in environments where the network configuration is not static.
Additionally, networked printers are typically shared by many users, many of which may use the network's capability of loading additional fonts into the printer. When the printer is powered up by the IS-PCS, these fonts must be reloaded over the network. This operation can occupy significant network and host computer bandwidth as several megabytes of data are often involved.
Finally, once such a IS-PCS powers a printer on, it relinquishes the printer address. Often a computer trying to access the printer will "time-out" in the "boot" interval between power on and readiness to communicate with the network. The time-out will cause an error message to be presented to the user, which may be confusing and annoying. There are software packages that address this time-out problem, but each software solution introduces additional problems of compatibility with present and future software.
What is needed is a power-conservation system that requires simple hardware connections and no computer software additions or modifications, that once installed is invisible to the user (avoids error messages), that can adapt automatically to network changes, and can provide for reinitializing a printer (e.g., reinstailing software fonts) without tying up computer and network bandwidth.